package br.com.bestOffer.anuncio.bean;

import java.util.Arrays;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.com.bestOffer.ejb.anuncio.entity.Anuncio;
import br.com.bestOffer.ejb.anuncio.service.AnuncioServiceBean;
import br.com.bestOffer.enumerator.CategoriaProduto;
import br.com.bestOffer.exceptions.BestOfferListaVaziaException;
import br.com.bestOffer.util.BaseManagedBean;
import br.com.bestOffer.util.BestOfferConstantes;
import br.com.bestOffer.util.Constantes;
import br.com.bestOffer.util.WebResources;

@ManagedBean
@ViewScoped
public class PesquisarAnuncioManagedBean extends BaseManagedBean{
	
	private static final long serialVersionUID = 740763791872842185L;
	
	private List<Anuncio> listaAnuncios;
	
	@EJB
	private AnuncioServiceBean anuncioServiceBean;
	
	private CategoriaProduto categoria;
	
	@PostConstruct
	public void init() throws BestOfferListaVaziaException{
		listaAnuncios = anuncioServiceBean.listarAnuncioPorCategoria(CategoriaProduto.PlacaMae);
	}
	
	public String detalharAnuncio(Anuncio anuncio){
		WebResources.getFlashContext().put(Constantes.ANUNCIO, anuncio);
		return BestOfferConstantes.DETALHAR_ANUNCIO;
	}
	
	public void listarAnunciosPorCategoria() throws BestOfferListaVaziaException{
		listaAnuncios = anuncioServiceBean.listarAnuncioPorCategoria(categoria);
	}
	
	public List<CategoriaProduto> getListaCategoriaProduto() {
		return Arrays.asList(CategoriaProduto.values());
	}


	public List<Anuncio> getListaAnuncios() {
		return listaAnuncios;
	}

	public void setListaAnuncios(List<Anuncio> listaAnuncios) {
		this.listaAnuncios = listaAnuncios;
	}

	public CategoriaProduto getCategoria() {
		return categoria;
	}

	public void setCategoria(CategoriaProduto categoria) {
		this.categoria = categoria;
	}

	
	
}
